package Entities;

import java.io.Serializable;
import java.util.Calendar;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;

@Entity
@NamedQueries({
    @NamedQuery(name = "todosMozos", query = "select m from Mozo m")})
public class Mozo extends Empleado implements Serializable {

    private static final long serialVersionUID = 1L;
    //Atributos
    @OneToMany(fetch = FetchType.EAGER)
    private List<Mesa> listaMesas;

    //Constructores
    public Mozo() {
        super();
    }

    public Mozo(List<Mesa> listaMesas) {
        this.listaMesas = listaMesas;
    }

    public Mozo(List<Mesa> listaMesas, int ci, int puestoTrabajo) {
        super(ci, puestoTrabajo);
        this.listaMesas = listaMesas;
    }

    public Mozo(List<Mesa> listaMesas, int ci, int puestoTrabajo, String nombreUsuario, String contrasenia, String nombre, String apellido, int telefono, int cel, Calendar fechaNac, String email, int rol, String departamento, String ciudad, String calle, int numero, String detalle, boolean activo) {
        super(ci, puestoTrabajo, nombreUsuario, contrasenia, nombre, apellido, telefono, cel, fechaNac, email, rol, departamento, ciudad, calle, numero, detalle, activo);
        this.listaMesas = listaMesas;
    }

    //Getters and Setters
    public List<Mesa> getListaMesas() {
        return listaMesas;
    }

    public void setListaMesas(List<Mesa> listaMesas) {
        this.listaMesas = listaMesas;
    }

    //toString
    @Override
    public String toString() {
        return "Entity.Mozo[ listaMesas=" + listaMesas + " ]";
    }
}